查看原文
其他

Microsoft推出Phi-3小型语言模型(手机端可运行)

renee创业狗 Renee 创业随笔
2024-10-09

本周,Microsoft推出Phi-3系列开放模型,是目前最有能力且最具成本效益的小型语言模型。

灵感来源

去年,微软的Ronen Eldan白天思考机器学习之谜的解决方案,晚上给女儿读睡前故事时,他想到:“她是如何学会这个词的?她是怎样知道如何连接这些词的?”这引发了这位微软研究机器学习专家的思考,即一个AI模型使用只有四岁儿童能理解的词汇能学到多少——最终,这种思考催生了一种创新的训练方法,产生了一类更加强大的小型语言模型,这类模型可以让更多人更容易地接触到AI。

应用场景

Phi-3-mini已经推出,拥有38亿参数,性能超过体积是其两倍的模型;Phi-3-small(70亿参数)和Phi-3-medium(140亿参数)将很快在Azure AI模型目录和其他模型hub中上线。

小型语言模型旨在为较简单的任务提供良好性能,对于资源有限的组织更加易于获取和使用,且可以更容易地进行微调以满足特定需求。适合希望构建可以在本地设备上运行(而非云端)的应用程序的组织,适用于不需要广泛推理或需要快速响应的任务,而且通过将数据保留在设备内部,用户可以“最小化延迟并最大化隐私”。

训练数据

寻找极高质量的数据进行训练。创建一个由3000个词组成的独立数据集,包括大致相同数量的名词、动词和形容词。然后,团队要求一个大型语言模型使用列表中的一个名词、一个动词和一个形容词创作儿童故事——这一提示在几天内重复了数百万次,生成了数百万个微小的儿童故事。微软将得到的数据集称为“TinyStories”,并用其来训练大约1000万参数的非常小型语言模型。令团队惊讶的是,当被提示创作自己的故事时,接受TinyStories训练的小型语言模型生成了语法完美的流畅叙述。

接下来,一个更大的研究团队使用了精心挑选的、基于教育价值和内容质量过滤的公开可用数据来训练Phi-1。在收集到初步的公开可用信息后,团队使用了受TinyStories启发的提示和种子公式,但进行了进一步的复杂化处理,以便捕捉更广泛的数据。为确保高质量,团队反复过滤生成的内容,然后再将其输入到LLM中以进一步综合。通过这种方式,经过几周的努力,团队积累了足够大的数据语料库来训练一个更有能力的SLM。将最后这个数据集命名为“CodeTextbook”。

研究人员通过采用教师为学生讲解复杂概念的方式来选择数据,从而进一步增强了数据集。“因为它是从类似教科书的材料中读取的,从解释得非常非常清楚的高质量文档中读取的,”布贝克说,“你让语言模型阅读和理解这些材料的任务变得更加容易。”

测评

Phi-3模型在各种基准测试中表现优于同等规模甚至更大规模的模型,这些基准测试评估了语言、编程和数学能力。

使用方式

Phi-3-mini38亿参数的语言模型,现在可在Microsoft Azure AI Studio、HuggingFace和Ollama上获取。

  • Azure https://aka.ms/phi3-azure-ai
  • HuggingFace https://huggingface.co/collections/microsoft/phi-3-6626e15e9585a200d2d761e3
  • Ollama https://ollama.com/library/phi3

Phi-3-mini提供两种上下文长度变体——4K和128K令牌。它是同类中首款支持高达128K令牌的上下文窗口的模型,对质量的影响微乎其微。该模型经过指令调优,即训练以遵循反映人们通常沟通方式的不同类型指令,确保模型开箱即用。

它在Azure AI上可用,可利用部署-评估-微调工具链,并在Ollama上提供,以便开发者在其笔记本电脑上本地运行。

该模型已针对ONNX Runtime进行优化,支持Windows DirectML,并具有跨平台支持,可在图形处理单元(GPU)、中央处理单元(CPU)甚至移动硬件上运行。

它还以NVIDIA NIM微服务的形式提供,具有标准API接口,可以在任何地方部署,并已针对NVIDIA GPU进行优化。

弱点

在大型语言模型(LLM)的能力方面,虽然Phi-3-mini模型在语言理解和推理能力上与更大的模型相似,但在某些任务上,由于其大小的限制,它仍然存在根本性的局限。

  • 模型简单地没有能力存储太多的“事实知识”,例如在TriviaQA上的表现较低就是一个例子。然而,我们相信通过与搜索引擎的增强,这种弱点可以得到解决。下图中使用HuggingFace默认的Chat-UI与phi-3-mini展示了一个例子。

  • 另一个与模型容量相关的弱点是,Phi-3主要限制了使用英语。探索小型语言模型的多语言能力是下一步重要的发展方向,引入更多多语言数据后,phi-3-small已经有了一些初步的有希望的结果。
继续滑动看下一个
Renee 创业随笔
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存